package my.syncfilter.entity;

import java.util.Date;

public interface DataChannel<T> {
    int getStatus();

    void setLoadFinished(boolean loadFinished);

    long calcDbRate();

    int getDbCounter();

    long calcCdrRate();

    void addQueue(T data);

    void addQueue(T data, String partition);

    /**
     * 队列是否为空
     *
     * @return
     */
    boolean isQueueEmpty() ;

    T poll(long timeout);

    void cumulativeDbCounter();

    int getCdrCounter();

    void cumulativeCdrCounter() ;

    void addFileEntityList(FileEntity data);

    boolean getLoadFinished();

    Date getFinishDate();

    void setFinishDate(Date finishDate);

    void setStatus(int status);

    void incrLoadTotal();

    Object getCurrentValue();

    void setCurrentValue(Object currentValue);

    int calcQueueSize();

}
